.starRating:not(old){
  display        : inline-block;
  width          : 7.5em;
  height         : 1.5em;
  overflow       : hidden;
  vertical-align : bottom;
}

.starRating:not(old) > input{
  margin-right : -100%;
  opacity      : 0;
}

.starRating:not(old) > label{
  display         : block;
  float           : right;
  position        : relative;
  background      : url('../img/star-off.svg');
  background-size : contain;
}

.starRating:not(old) > label:before{
  content         : '';
  display         : block;
  width           : 1.5em;
  height          : 1.5em;
  background      : url('../img/star-on.svg');
  background-size : contain;
  opacity         : 0;
  transition      : opacity 0.2s linear;
}

.starRatingEnabled:not(old) > label:hover:before,
.starRatingEnabled:not(old) > label:hover ~ label:before,
.starRatingEnabled:not(:hover) > :checked ~ label:before{
  opacity : 1;
}

.starRatingDisabled:not(old) > :checked ~ label:before{
  opacity : 1;
}
